package com.efast.cafe.portal.service.common;

import java.util.Map;

import com.efast.cafe.portal.bean.common.AttachmentFormBean;
import com.efast.cafe.portal.bean.common.tree.PortalTreeBean;
import com.efast.cafe.portal.bean.common.tree.PortalTreeMoveBean;
import com.efast.cafe.portal.entity.common.tree.PortalTree;


/**
 * <p>Service接口</p>
 * <p>Table: portal_tree - </p>
 *
 * @since 2018-04-25 11:04:19
 */
public interface IPortalTreeService {

	/**
	*根据主键ID查询
	**/
	public PortalTree selectByPrimaryKey(Integer id);
	
	/**
	*根据主键ID删除
	**/
	public void deleteByPrimaryKey(Integer id);
	
	/**
	*新增
	**/
	public Integer insert(PortalTree obj);
	
	/**
	*根据主键ID修改 字段的值不为空才修改
	**/
	public void updateByPrimaryKeySelective(PortalTree obj);
	
	/**
	*根据主键ID修改
	**/
	public void updateByPrimaryKey(PortalTree obj);
	
	/**
	*根据获取tree 结构和树的根节点 生成树。
	**/
	public Map<String, Object> queryTreeByCodeAndRootEntityKey(PortalTreeBean obj);
	
	
	/**
	*根据获取tree 结构和 某一子节点 某一级别 生成树。
	**/
	public Map<String, Object> queryTreeByCodeAndChildEntityKeyAndLevel(PortalTreeBean obj);
	
	/**
	*移动树 节点到任何一个地方。
	**/
	public void moveTree(PortalTreeMoveBean obj);
	/**
	*添加节点
	**/
	public Integer addNode(String tableName, Map<String, Object> map, AttachmentFormBean attachments);
	/**
	*删除节点
	**/
	public void deleteNode(String entityName, Map<String, Object> map);

	public Map<String, Object> queryTreeByCodeAndRootEntityKeyAjax(PortalTreeBean obj);
	/**
	*获取节点类型
	**/
	public Map<String, Object> getTreeNodeType(PortalTreeBean obj);
	/**
	*更新节点
	**/
	public void updateNode(String tableName, Map<String, Object> map, AttachmentFormBean attachments);
	
	
}